package com.liang.lingdong.model.auth.dto;


import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 用户加入请求
 */

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class UserJoinDto {

    /**
     * 用户名
     */
    @NotBlank(message = "用户名不能为空")
    @Length(max = 20, message = "用户名长度不能超过20个字符")
    private String username;

    /**
     * 学号
     */
    @NotBlank(message = "学号不能为空")
    @Length(max = 12, min = 8,message = "学号长度不符合要求")
    private String userAccount;

    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空")
    @Length(max = 30, message = "邮箱长度不能超过30个字符")
    private String email;

    /**
     * 验证码id
     */
    @NotBlank
    private String uid;

    /**
     * 验证码
     */
    @NotBlank(message = "验证码不能为空")
    @Length(min = 6, max = 6, message = "验证码长度不符合要求")
    private String authCode;

    /**
     * 用户简介
     */
    @NotBlank(message = "用户简介不能为空")
    @Length(max = 200, message = "用户简介长度不能超过100个字符")
    private String userDesc;

    /**
     * 班级名称
     */
    @NotBlank(message = "班级名称不能为空")
    @Length(max = 20, message = "班级名称长度不能超过20个字符")
    private String className;

    /**
     * 性别
     */
    @NotNull
    private Integer sex;
}
